package org.bibpessoal.servlet;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.bibpessoal.entidades.Livro;
import org.bibpessoal.fachadas.FachadaBibPessoal;

 
@WebServlet("/images/livro/*")
public class ImageLivro extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
	private FachadaBibPessoal fachada;

    public void init() throws ServletException { 
    	fachada = FachadaBibPessoal.getInstancia();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        String imageId = request.getParameter("id");
        
        if (imageId == null) {
            response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404.
            return;
        }
        
        Integer id = Integer.parseInt(imageId);

        Livro livro = fachada.carregarLivro(id);

        if ((livro == null) || (livro.getCapa() == null)) {
            response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404.
            return;
        }

        // Init servlet response.
        response.reset();
        response.setContentType("Mime");
        response.setContentLength(livro.getCapa().length);

        // Pega os bytes da imagem escrevendo no response.
        response.getOutputStream().write(livro.getCapa());
    }

}
